#ifndef SPFA_H
#define SPFA_H

#include <QVector>
#include <limits>

// 结果结构体，用于存储最短路径的距离和前驱节点
struct SPFAResult {
    QVector<double> distances;  // 最短路径的距离
    QVector<int> predecessors;  // 前驱节点
};

// SPFA 算法函数声明
SPFAResult spfa(const QVector<QVector<double>> &graph, int startNode);

// 获取最短路径函数声明
QVector<int> getPath(const QVector<int> &predecessors, int startNode, int endNode);

#endif // SPFA_H

